home *** CD-ROM | disk | FTP | other *** search
- // Written by Don Yacktman Copyright (c) 1995 by Don Yacktman.
- // Version 1.0. All rights reserved.
- //
- // This notice may not be removed from this source code.
- //
- // This object is included in the MiscKit by permission from the author
- // and its use is governed by the MiscKit license, found in the file
- // "LICENSE.rtf" in the MiscKit distribution. Please refer to that file
- // for a list of all applicable permissions and restrictions.
- //
-
- #import <misckit/misckit.h>
- #import <misckit/miscmerge.h>
-
- void main()
- {
- List *output; int i;
-
- // Set up the file names for the template and data files
- MiscString *templateFile = [MiscString newWithString:"test1.template"];
- MiscString *dataFile = [MiscString newWithString:"test1.data"];
-
- // A way to read the data file, independent of the merges
- // (But it turns an ascii file into a data structure the
- // merge kit can deal with.)
- MiscRecordParser *recparser = [[MiscRecordParser alloc] init];
-
- // Basic objects required for a merge:
- MiscMergeTemplate *template = [[MiscMergeTemplate alloc] init];
- MiscMergeDriver *merger = [[MiscMergeDriver alloc] init];
-
- // Load the files from disk
- [template parseFromFileNamed:templateFile];
- [recparser loadFromFileNamed:dataFile];
-
- // set up the merge
- [merger setTemplate:template];
- [merger setMergeData:[recparser records]];
-
- // do the merge
- output = [merger doMerge:nil];
-
- // Print out the results
- for (i=0; i<[output count]; i++) {
- printf("--------------------------------------------------------\n");
- printf("%s\n", [[output objectAt:i] stringValue]);
- }
- printf("--------------------------------------------------------\n");
- // If we weren't exiting, we'd go to the trouble of freeing everything
- // here to avoid memory leaks.
- exit(0);
- }